/**
 * @filename:SysRoleDao 2025-05-09
 * @project starhub-schema  V1.0
 */
package com.starhub.engine.sys.role.dao;


import com.starhub.engine.sys.role.entity.SysRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**   
 * @Description:(角色设置数据访问层)
 * @version: V1.0
 * @author: luosw
 * 
 */
@Mapper
public interface SysRoleDao{

    /**
    *插入所有字段SysRole
    */
    int insert(SysRole record);

    /**
    *插入非空字段SysRole
    *@param record
    */
    int insertSelective(SysRole record);

    /**
    *批量删除SysRole，逻辑删除
    */
    int  deleteSysRoleByType(@Param("idList") List<Long> idList,@Param("deleteType") int deleteType);

    /**
    *批量删除SysRole，物理删除
    */
    int  deleteSysRoleRecord(@Param("idList") List<Long> idList);

    /**
     *根据SysRole对象,更新记录,仅更新非空字段
     *@param record
     */
     int updateByPrimaryKeySelective(SysRole record);

     /**
     *根据SysRole对象，更新记录
     *@param record
     */
     int updateByPrimaryKey(SysRole record);


    /**
    *根据id，查询SysRole对象
    *@param id 记录id
    */
    SysRole selectByPrimaryKey(@Param("id") Long id);


    /**
    *根据查询条件，查询SysRole对象
    *@param record 记录record
    */
    List<SysRole> selectByPrimaryKeySelective(@Param("record") SysRole record);
}